[小ネタ]Route 53 Resolver アウトバウンドエンドポイントを別々のVPCで利用する場合に必要な通信経路を確認してみた
こんにちは。
繁松です。
はじめに
Route 53 Resolver アウトバウンドエンドポイントを別々のVPCで利用する場合に必要な通信経路はどこか、Transit Gatewayで通信している環境で検証してみたのでブログにしました。
- Route 53 Resolver について
説明
確認したかったことを図で説明します。
確認したかったこと
- ①通信元サーバーから別VPCのDNSサーバーで名前解決を行いたい。
- TGW ルートテーブルに必要な設定は?[VPC A ⇔ VPC X]?、[VPC X ⇔ VPC Y]?、[VPC Y ⇔ VPC A]?どれが必要なのか?
- ②名前解決後に通信元サーバーから通信先サーバーに通信したい。
- TGW ルートテーブルに必要な設定は?多分[VPC A ⇔ VPC B]だけでOKか?
- 構成について補足
- アカウントは2アカウント(図左右)
- VPC
- VPC A(通信元サーバー用):10.0.1.0/24
- VPC B(通信先サーバー用):10.0.2.0/24
- VPC X(アウトバウンドエンドポイント用):10.0.10.0/24
- VPC Y(DNSサーバー用):10.0.11.0/24
- TGWルートテーブルはTGWアタッチメント毎に個別に設定
- アウトバウントエンドポイントリゾルバールールはResource Access Managerで共有
結論
①名前解決に必要な経路
[VPC X ⇔ VPC Y]の通信経路が必要です。
- VPC X TGW Route Table(アウトバウンドエンドポイント用)の設定
CIDR | アタッチメントID | リソース(VPC) | リソースタイプ | ルートタイプ |
---|---|---|---|---|
10.0.11.0/24 | VPC Y TGW Attachment ID | VPC Y(DNSサーバー用) | VPC | 静的 |
- VPC Y TGW Route Table(DNSサーバー用)の設定
CIDR | アタッチメントID | リソース(VPC) | リソースタイプ | ルートタイプ |
---|---|---|---|---|
10.0.10.0/24 | VPC X TGW Attachment ID | VPC X(アウトバウンドエンドポイント用) | VPC | 静的 |
②名前解決後に通信元サーバーから通信先サーバーの通信に必要な経路
[VPC A ⇔ VPC B]の通信経路が必要です。
- VPC A TGW Route Table(通信元サーバー用)の設定
CIDR | アタッチメントID | リソース(VPC) | リソースタイプ | ルートタイプ |
---|---|---|---|---|
10.0.2.0/24 | VPC B TGW Attachment ID | VPC B(送信先サーバー用) | VPC | 静的 |
- VPC B TGW Route Table(通信先サーバー用)の設定
CIDR | アタッチメントID | リソース(VPC) | リソースタイプ | ルートタイプ |
---|---|---|---|---|
10.0.1.0/24 | VPC A TGW Attachment ID | VPC A(送信元サーバー用) | VPC | 静的 |
やってみた
大前さんのブログを参考に構築しました。
環境について
送信先サーバーのIPアドレス:10.0.2.10
DNSサーバーの設定:
server: interface: 0.0.0.0 access-control: 10.0.0.0/8 allow do-ip6: no local-zone: "shige.local." static local-data: "web.shige.local. IN A 10.0.2.10" local-data-ptr: "10.0.2.10 web.shige.local."
①通信元サーバーから名前解決(web.shige.local.)し送信元サーバーのIPアドレスが返ってくることを確認
[ec2-user@ip-10-0-1-36 ~]$ dig web.shige.local. +short 10.0.2.10
②通信元サーバーから通信先サーバーに通信
送信先サーバーではapacheを起動させて静的コンテンツを準備し、通信出来ていることを確認
[ec2-user@ip-10-0-1-36 ~]$ curl web.shige.local Hello world!20231214
さいごに
Route53 Resolver EndpointをマルチアカウントのVPCで利用する場合に必要な通信経路について改めて確認してみました。
今回のような環境で名前解決を行うには、アウトバウンドエンドポイントのVPCとDNSサーバーのVPCが通信出来ていれば名前解決可能ということがわかりました。